It is often useful to utilize circuit design application software to layout and plan new integrated circuits. This circuit design application software is typically configured to aide the user in keeping track of resource requirements of particular modules. Furthermore, circuit design application software also allows users to assign circuit resources to particular modules.
However, circuit design software applications typically have minimal graphical support. They usually are not capable of supplying the user with a graphical display representing a current status of the layout of the resources on a chip. Chip designers are typically required to manually and textually track their layout decisions with minimal graphical support.
Furthermore, selection of global parameters such as clock speed, phase locked loop mode, and the like were set by manually writing application programming interfaces to provide these settings and parameters. The process of writing application programming interfaces is often times error-prone and requires knowledge of many low level technical requirements and requires many manual steps. For example, users typically need to find register information on the data sheet for particular hardware elements in order to properly set the register. In addition, since the global parameters effect many elements within the hardware, the application programming interfaces can become very long and complex. Moreover, once written, the global parameter settings are applicable only to the project for which they were developed. In order to establish the global parameters for another project, they have to be manually reprogrammed.